Multiple term product search and identification of related products

ABSTRACT

Efficient systems and methods for multiple-term searching and product ordering. A method includes receiving a plurality of independent search requests from a user and executing a product search for each of the plurality of independent search requests to generate a plurality of independent product results. The method includes providing at least a portion of the plurality of independent product results to the user simultaneously. The method includes receiving a product selection from the user and adding the product selection to a virtual shopping cart for the user while continuing to display at least a portion of the plurality of independent product results.

TECHNICAL FIELD

The disclosure relates generally to systems, methods, and devices formultiple term search engines and order fulfilment processes. Morespecifically, the disclosure relates to systems, methods, and devicesfor increasing efficiency in searching for products, identifyingmatching products, identifying related products, and selecting productsto be ordered.

BACKGROUND

There are numerous industries that benefit from efficiently identifyingand purchasing multiple products by way of a computer user interface. Insome instances, it may be necessary to quickly identify availableproducts, order those products, and have them delivered within aspecified timeframe. An example industry that may require quick orderfulfilment is the construction industry. Commonly in the constructionindustry, contractors will be present on a jobsite and determine thereare not enough construction materials onsite to complete the job. Insuch an instance, it may be desirable to quickly place an order for thenecessary materials and have those materials delivered to the jobsitewithin a specified timeframe.

However, traditional order fulfilment processes suffer from numerousdeficiencies and fail to deliver efficient processes for searching formultiple products and placing an order for multiple products.Traditional order fulfilment processes are limited to searching only oneitem at a time and adding only one item at a time to a user's virtualshopping cart. Further, traditional order fulfilment processes arelimited to searching inventory for only one manufacturer or retailer.These deficiencies can lead to loss of time and money in certainindustries such as the construction industry.

In light of the foregoing, disclosed herein are systems, methods, anddevices for a multiple term search engine and multiple product orderplacement platform.

BRIEF DESCRIPTION OF THE DRAWINGS

Non-limiting and non-exhaustive implementations of the presentdisclosure are described with reference to the following figures,wherein like reference numerals refer to like parts throughout thevarious views unless otherwise specified. Advantages of the presentdisclosure will become better understood with regard to the followingdescription and accompanying drawings where:

FIG. 1 is a schematic diagram of a system for efficient multiple-termsearching, related product identification, and order processing;

FIG. 2 is a schematic diagram of an information flow for an orderplacement platform;

FIG. 3 is a schematic diagram of a process flow receiving and processinga search input for one or more search requests;

FIG. 4 is a schematic diagram of a process flow for receiving a searchinput and identifying products related to the search input forprocessing a product order;

FIG. 5 is an example screenshot of a home screen of an order placementplatform suggesting multiple potential product categories to besearched;

FIG. 6 is an example screenshot of a home screen of an order placementplatform suggesting multiple potential product categories to besearched, wherein multiple product categories have been selected to besearched simultaneously;

FIG. 7 is an example screenshot of a search results page presentingpotential products pertaining to a plurality of search requests thatwere searched simultaneously;

FIG. 8 is a schematic flow chart diagram of a method for efficientmultiple-term searching and product identification for processing anorder;

FIG. 9 is a schematic flow chart diagram of a method for identifyingpredicted search topics by processing information through a neuralnetwork;

FIG. 10 is a schematic flow chart diagram of a method for identifyingavailable products at a fewest number of retail locations; and

FIG. 11 is a schematic diagram illustrating components of an examplecomputing device.

DETAILED DESCRIPTION

Disclosed herein are systems, methods, and devices for increasingefficiency in searching for products, identifying matching products,identifying related products, and selecting products to be ordered. Inan embodiment, an order placement platform enables a user to executemultiple searches for different search terms or items at one time.Further, the order placement platform enables the user to identifyrelated products and add multiple products to a virtual shopping cartsimultaneously.

There are numerous industries that benefit from efficiently identifyingand purchasing multiple products by way of a computer user interface. Insome instances, it may be necessary to quickly identify availableproducts, order those products, and have them delivered within aspecified timeframe. An example industry that may require quick orderfulfilment is the construction industry. Commonly in the constructionindustry, contractors will be present on a jobsite and determine thereare not enough construction materials onsite to complete the job. Insuch an instance, it may be desirable to quickly place an order for thenecessary materials and have those materials delivered to the jobsitewithin a specified timeframe.

However, traditional order fulfilment processes suffer from numerousdeficiencies and fail to deliver efficient processes for searching formultiple products and placing an order for multiple products.Traditional order fulfilment processes are limited to searching only oneitem at a time and adding only one item at a time to a user's virtualshopping cart. Further, traditional order fulfilment processes arelimited to searching inventory for only one manufacturer or retailer.These deficiencies can lead to loss of time and money in certainindustries such as the construction industry. In light of the foregoing,disclosed herein are systems, methods, and devices for a multiple termsearch engine and multiple product order placement platform.

Before the structures, systems, and methods for increasing efficiency ofan order placement platform are disclosed and described, it is to beunderstood that this disclosure is not limited to the particularstructures, configurations, process steps, and materials disclosedherein as such structures, configurations, process steps, and materialsmay vary somewhat. It is also to be understood that the terminologyemployed herein is used for the purpose of describing particularembodiments only and is not intended to be limiting since the scope ofthe disclosure will be limited only by the appended claims andequivalents thereof.

In describing and claiming the subject matter of the disclosure, thefollowing terminology will be used in accordance with the definitionsset out below.

It must be noted that, as used in this specification and the appendedclaims, the singular forms “a,” “an,” and “the” include plural referentsunless the context clearly dictates otherwise.

As used herein, the terms “comprising,” “including,” “containing,”“characterized by,” and grammatical equivalents thereof are inclusive oropen-ended terms that do not exclude additional, unrecited elements ormethod steps.

As used herein, the phrase “consisting of” and grammatical equivalentsthereof exclude any element or step not specified in the claim.

As used herein, the phrase “consisting essentially of” and grammaticalequivalents thereof limit the scope of a claim to the specifiedmaterials or steps and those that do not materially affect the basic andnovel characteristic or characteristics of the claimed disclosure.

Reference will now be made in detail to the exemplary embodiments,examples of which are illustrated in the accompanying drawings. Whereverpossible, the same reference numbers are used throughout the drawings torefer to the same or like parts. It is further noted that elementsdisclosed with respect to embodiments are not restricted to only thoseembodiments in which they are described. For example, an elementdescribed in reference to one embodiment or figure, may be alternativelyincluded in another embodiment or figure regardless of whether or notthose elements are shown or described in another embodiment or figure.In other words, elements in the figures may be interchangeable betweenvarious embodiments disclosed herein, whether shown or not.

Referring now to the figures, FIG. 1 is a schematic diagram of a system100 for an efficient ordering and product searching platform. The system100 can be implemented to permit a user to conduct multiple searchessimultaneously and add multiple products to a virtual shopping cartsimultaneously. The system 100 includes an order placement platform 102in communication with an order placement server 110 and a network 120.The network 120 is in communication with the order placement server 110and a user profile server 122. In an embodiment, the order placementserver 110 and the user profile server 122 are on the same physicaldevice or are electrically interconnected. Access to the network 120 maybe facilitated by a personal device 114 such as a computer, mobilephone, smart phone, web browser, tablet, and so forth.

The order placement platform 102 includes one or more of a multiple itemsearch component 104, a multiple item selection component 106, and anorder processing component 108. The order placement platform 102 mayinclude further components and may be configured to perform additionalinstructions, for example according to the order placement platform 102as discussed in FIG. 2. The order placement platform 102 may be accessedby way of a personal device 114 such as a smart phone, a tablet, alaptop, a personal computer, and so forth.

In an embodiment, the order placement platform 102 provides a means fora user to purchase items directly from a retailer or manufactureconnected with the order placement platform 102. This can be referred toas a consumer purchasing products from the order placement platform 102.Additionally, the order placement platform may provide a means for auser to purchase items through the order placement platform 102 that arenot directly owned, supplied, or manufactured by a company that isconnected with the order placement platform 102. This can be referred toas a consumer purchasing products through the order placement platform102. Therefore, the order placement platform 102 may serve as a productsearching and product purchasing platform that is supplied to consumersdirectly by a retailer or manufacture. Further, the order placementplatform 102 may serve as a product searching and product purchasingplatform that is supplied to consumers by a third party and includesproducts from one or more retailers or manufacturers. It should beappreciated that the order placement platform 102 may be a combinationof the aforementioned embodiments, wherein the order placement platform102 is a product searching and product purchasing platform that issupplied to consumers directly by a retailer or manufacturer, andfurther includes additional products from additional retailers ormanufactures.

The multiple item search component 104 enables a user to performmultiple searches simultaneously. In an embodiment, a user may inputmultiple search terms or search keys for different products, and themultiple item search component 104 will perform individual productsearches simultaneously. The multiple item search component 104 canreduce the total time spent searching for and identifying suitableproducts. In a further embodiment, the multiple item selection component104 performs independent searches for a plurality of search requestsfrom a user, and further performs independent searches for related itemscorresponding with each of the plurality of search requests.

The multiple item selection component 106 enables a user to selectmultiple products and view those products simultaneously. The multipleitem selection component 106 further enables a user to add multipleproducts to a virtual shopping cart at the same time. The multiple itemselection component 106 reduces the time spent selecting and orderingproducts.

In an embodiment, the multiple item selection component 106 prompts auser to select one or more products from a product group. The multipleitem selection component 106 may generate the product group throughmachine learning by analyzing past orders and identifying products thatare commonly ordered as a group. The product group may be directed to acertain project or field of interest. In an example use case, theproduct group is directed to installing drywall in a property, and theproduct group may include drywall sheets, drywall screws, drywall tape,mud, and various tools for completing the drywall installation job.

The order processing component 108 finalizes an order by facilitatingpayment processing, sending order details to a products provider such asa retailer or manufacturer, and sends an order confirmation to apurchaser. In an embodiment, the order processing component 108 providesaccess to transaction information such as user profiles, paymentinformation, transaction histories, and so forth. The order processingcomponent 108 may provide a user the ability to select a certain userprofile and view the transaction history and/or the status of thepayment information for that user profile. In an embodiment, allsensitive information, such as personally identifiable information (PII)or payment information, in the user database 124 and/or the transactiondatabase 126 is encrypted and cannot be read by a human.

The order placement server 110 provides access to the order placementplatform 102 to personal devices 114. The order placement server 110 mayserve as a dedicated server group to support the order placementplatform 102 for all devices 114 interacting with the order placementplatform 102. In an embodiment, the order placement server 110 and theuser profile server 122 are on the same physical device or are in directelectrical communication. In an embodiment, there is no distinctionbetween the order placement server 110 and the user profile server 122.

The personal device 114 is any personal computing device that cancommunicate with the order placement server 110 and/or the user profileserver 122. The personal device 114 may include a smart phone, a tablet,a laptop, a personal computer, and so forth. Personal devices 114 maycommunicate with the order placement server 110 and/or the user profileserver 122 by way of a local area network (LAN), wide area network(WAN), or another network connection. In an embodiment, personal devices114 can connect to a network 120, such as a cloud computing network orthe Internet, by way of a network connection 118 that may be facilitatedby the order placement server 110 and/or the user profile server 122.

The user profile server 122 facilitates interactions with a userdatabase 124 storing user profile information and/or a transactiondatabase 126 storing transaction history information. The user profileserver 122 may be in communication with a network 120 such as a cloudcomputing network. In an embodiment, the order placement server 110 isin communication with the user profile server 122 by way of the network120 such that new user profiles may be uploaded from the user profileserver 122 to the order placement server 110. In an embodiment, a singleserver includes the information stored in the user profile server 122and the order placement server 110. In an embodiment, the informationstored in the user profile server 122 includes sensitive informationsuch as personally identifiable information, and the information istherefore encrypted and safeguarded.

In an embodiment as illustrated in FIG. 1, the order placement server110 is independent of the user profile server 122. This may be desirablein an instance where the order placement platform 102 connects to athird-party server or database that comprises user profile information.For example, a third-party service might exist that catalogs userprofile information for numerous retail or manufacturing entities. Theorder placement platform 102 may connect with such a third-party serviceto obtain user profile information or payment information. In anembodiment, the order placement platform 102 connects with the thirdparty by way of an Application Program Interface (API). In anembodiment, the order placement platform 102 receives user profileinformation from a third-party user profile service by way of the userprofile server 122.

In an embodiment (not shown in FIG. 1), the order placement server 110and the user profile server 122 are not independent of one another. Insuch an embodiment, a single server group may include all informationnecessary for running the order placement platform 102, including userprofile information, payment information, transaction history, and/orinformation specific to one or more retail establishments. It should beappreciated that numerous different configurations may be used withoutdeparting from the scope of the disclosure.

The user database 124 is in communication with the user profile server122. The user database 124 stores information about user accounts thatare associated with the order placement platform 102. The user database124 stores information about each user that has created an account withthe order placement platform 102. The user database 124 stores, forexample, personal user information, user preferences, user advertisingpreferences, user reward history, user reward redemptions, user behaviorwhen interacting with the order placement platform, information aboutthe user's profession or line of work, and so forth.

The transaction database 126 is in communication with the user profileserver 122. The transaction database 124 stores a listing oftransactions for all users. The transactions may be applicable tomultiple retail locations or entities. The transaction database 126includes a listing of orders for each user that interacts with the orderplacement platform 102. The transaction database 126 may furtherincluding information about search histories, products viewed by users,wish lists associated with a user account, and so forth.

The network connection 118 provides users access to the network 120. Thenetwork 120 may include a cloud computing network, and/or the Internet,and/or part of a closed or private network. The network connection 118may provide the order placement server 110 access to the network 120 andmay further provide any of the personal devices 114 access to thenetwork 120.

FIG. 2 is a schematic diagram of the order placement platform 102including an indication of data categories that may be used by the orderplacement platform 102. The order placement platform 102 may receivemultiple types of information and use that information to predict theproduct needs for a specific user. In an embodiment, the order placementplatform 102 uses profile identifier 206 information points, orderhistory 208 information, location 210 information, user preference 212information, and/or product availability 214 information to determinewhat products should be suggested to a user and/or which products theuser may wish to order. The order placement platform 102 may be incommunication with multiple output sources, including a mobileapplication 220, a user interface 222 that may be a web-based userinterface, and direct contact 224 with users, contractors, firms,manufacturers, retailers, and others. The order placement platform 102may be in communication with a database 116 storing any suitable data,including profile data, order history data, information about availableproducts, payment information, and more. The order placement platform102 may work in connection with a neural network 218 to recognize whichproducts should be suggested to a user or which products a user may wishto order.

In an embodiment, the order placement platform 102 further receives databy way of one or more application program interfaces (APIs). The orderplacement platform 102 may receive user-specific data, environmentaldata, order history data, product availability information, productpopularity information, and aggregate data that is deemed relevant fortraining a neural network 218 or analyzing the user's inputs. Theenvironmental data includes, for example, weather data such astemperature, cloud coverage, and precipitation, lunar cycle data,sunrise time, sunset time, hours of daylight per day, UV index, and soforth. The environmental data may be useful to the neural network 218 toidentify that certain products may be more desirable during certainseasons or weather patterns. The order placement platform 102 mayreceive aggregate data by way of an API.

The profile identifier 206 include metrics entered by a user or imputedto a user by the neural network 218 for different categories. Examplemetrics include the user's age, demographic information, socioeconomicstatus, profession, location, and so forth. The user's profession may beparticularly useful in an embodiment where the order placement platform102 provides products that are used in a professional setting. Theuser's demographic information and socioeconomic status can be useful inidentifying certain products that are more likely to be seen asdesirable by the user.

The location 210 information may include information about the user'sresidence, the user's place of business, and/or the user's currentlocation based on GPS sensor data. The location 210 information can beanalyzed to identify products that are available locally near the user'scurrent location, residential address, or professional address. In anembodiment, the location 210 information is analyzed in furtherance ofidentifying products that are immediately available nearby for promptdelivery to the user's location.

The preferences 212 includes information about the user's orderingpreferences, product preferences, and so forth. The preferences 212 maybe determined by the neural network 218 or some other machine learningbased on the user's past interactions with the order placement platform102. The preferences 212 may be manually input by the user.

The product availability 214 includes information about products thatare available locally or to be shipped. The product availability 214 mayinclude a listing of available products and the associated SKU or otheridentifying information. The product availability 114 may include aninventory account for each of the available products. The productavailability 214 may be pulled via an API. The product availability 214may be pulled for multiple retail entities, retail locations,manufacturer entities, and so forth. In an embodiment, the productavailability 214 information is analyzed across multiple retail ormanufacturing entities to identify where all products in the user'svirtual shopping cart could be purchased in a single shopping event.

The mobile application 220 and user interface 222 are platforms in whicha user may interact with the order placement platform 102. Examplescreenshots of a mobile application 220 are depicted in FIGS. 5-7. Theorder placement platform 102 may be accessible to a user by way of amobile phone application 220, a user interface 222 on a website, asoftware platform, and so forth.

The direct contact 224 is a means by which the order placement platform102 can contact or notify one or more persons or entities directly. Thedirect contact 224 may include a telephone call, a voicemail message, anemail, a text message, and so forth.

In an embodiment, information is processed by a neural network 218 tomake predictions about user behavior. The neural network 218 may betrained on aggregated behavior of a plurality of users of the orderplacement platform 102. The neural network 218 may be trained on adataset comprising real-life information and/or virtual information forshopping and ordering behavior for different users. The neural network218 may make predictions about user behavior based on one or more of theuser's demographic information, location, professional background, orderhistory, transaction history, and so forth. In an example, the neuralnetwork 218 predicts that a user will want to search certain productsbased on the user's demographic information, income bracket, location,or professional background. The neural network 218 may make thesepredictions by being trained on aggregate shopping information for aplurality of individuals.

FIG. 3 is a schematic diagram of a process flow 300 for implementing amultiple term search engine and multiple product ordering system. Theprocess flow 300 includes receiving a search input at 302. The searchinput may include search terms that are manually input by the user,search terms that are suggested to the user and then selected ordismissed by the user, and/or may be based on the user's order history.The search input may include multiple search terms to be searchedsimultaneously.

The process flow 300 continues and includes identifying matchingproducts at 304 based on the search input. The process flow 300 furtherincludes identifying available products at 306 based on currentinventory or a listing of available products. The process flow 300includes providing the matching products at 308 to the user. Thematching products may include all products falling under the search termor may include only those products falling under the search term thatare currently available.

The process flow 300 includes identifying related products at 310.Related products may be determined based on past ordering history forthe user or for others that have ordered on the platform. The relatedproducts may be identified by a neural network 218 or other machinelearning system configured to analyze large sums of data to identifywhich products are likely to be purchased as a group. The process flow300 includes identifying available related products at 312 based oncurrent inventory or a listing of available products. The process flow300 includes providing the related products at 314 to the user.

In an embodiment, the search is carried about based on productinformation 316. The product information may be stored in a databaseaccessible over a network, may be stored locally to a computing deviceexecuting the ordering platform, may be accessed by way of an API, andso forth. The product information 316 includes one or more of productdescriptors 318, product location 320 information, product inventory322, product tags 324, and others. The product descriptors 318 includeinformation about the product such as name, SKU or other uniqueidentifier, manufacturing information, various descriptive informationrelevant to the product, reviews pertaining to the product, and soforth. The product location 320 includes information about where theproduct is located, the shipping rates to move the product from itsinitial location to the user's location, whether the product isimmediately available locally, and so forth. The product inventory 322includes information about how much of the product is available locally,how much of the product could be shipped, how much of the product couldbe delivered, and so forth. The product tags 324 include identifierspertaining to the product category or interest field. The product tags324 may be manually input by a system administrator, user, ormanufacturer. The product tags 324 may be determined by a neural network218 based on past ordering histories for many people. In an example,product tags 324 for copper wires may include identifiers such as“electrical,” “construction,” “copper,” and “wiring.”

FIG. 4 is a schematic diagram of a process flow 400 for receiving andprocessing search inputs in furtherance of processing an order. Theprocess flow 400 may be executed by an order placement server 110operating an order placement platform 102 as discussed herein. Theprocess flow 400 includes receiving at 402 a search bar input and/orsearch key input. A search bar input may include words or charactersmanually input into a search bar by a user. A search key input mayinclude one or more category selections by a user. In response toreceiving the search input, the process flow 400 includes identifying at404 products in response to the search bar input and/or the search keyinput. This step includes identifying products matching the searchinput. The process flow 400 further includes identifying at 406 relatedproducts that are not directly encompassed by the search input but maybe similar to or related to the search input products. In an example,related products may include other materials or products that arenecessary for completing a job or task with the primary product. Theprocess flow includes displaying at 408 the products and relatedproducts. The process flow 400 includes receiving at 410 productselections from the user. The process flow 400 includes adding at 412the product selections to the user's virtual shopping cart. In anembodiment, adding at 412 the product selections may include addingmultiple different products to the virtual shopping cart simultaneously.The process flow 400 includes receiving at 414 checkout information suchas name, delivery address, and so forth. The process flow 400 includesdirecting at 416 a user to a payment gateway where the user may inputinformation to process payment for the product selections. The processflow 400 includes providing at 418 order confirmation to the user by wayof a message such as an email, text message, phone call, pushnotification, and so forth.

FIGS. 5-7 illustrate example screenshots of a user interface for anorder placement platform 102 as discussed herein.

FIG. 5 is an example screenshot of a home screen 500 for the userinterface of the order placement platform 102. In an embodiment, thehome screen 500 provides search suggestion and/or product suggestion tothe user based on factors. Pertinent factors may include, for example,the user's profession, the user's order history, the user's manuallyinput preferences, the user's preferences as determined by a neuralnetwork or other machine learning process, the user's demographicinformation, the user's salary range, and so forth.

In an embodiment, a user may interact with the home screen 500 byselecting multiple suggested products at once. In an embodiment, theuser may activate a plus sign or other button to indicate that the userwants to add that product to a virtual shopping cart, learn more aboutthat product, open up a quick view tab for that product, and so forth.In an embodiment, the user may quickly add multiple different productsto the user's virtual shopping cart by activating a plus sign or otherbutton associated with each suggested product. In an embodiment, theuser may quickly add multiple products or product types to search byactivating the plus sign or other button associated with each suggestedproduct.

In the example implementation illustrated in FIG. 5, the home screen 500is particularly directed to use by a construction contractor,construction company, do-it-yourself enthusiast, user undergoing aconstruction project, and so forth. The home screen 500 providesnumerous construction-related suggestions to the user including drywallproducts, lumber products, roofing products, and exterior door products.It should be appreciated that the home screen 500 may be specializedbased on which retail entity or manufacturer is connected to the orderplacement platform 102, which user is connected to the order placementplatform 102, the user's location or delivery address when connecting tothe order placement platform 102, and any other suitable factors.

FIG. 6 is an example screenshot of a home screen 600 wherein a user hasselected multiple products or product categories to be searched. In theexample implementation illustrated in FIG. 6, the user has selecteddrywall sheets, drywall tape, lumber—2×4, drywall screws, drywall jointcompound, and framing nails to be searched. The user may select the“Search All” button to indicate that the user is ready to search each ofthe drywall sheets, drywall tape, lumber—2×4, drywall screws, drywalljoint compound, and framing nails simultaneously. The user mayadditionally manually enter in product names, product categories, orother search terms in the “Search Materials” box. In an embodiment,there is a limit to how many search terms the user may input for asingle searching session. In an alternative embodiment, there is nolimit to how many search terms the user may input for a single searchingsession.

FIG. 7 is an example screenshot of an ordering page 700 of a userinterface for the order placement platform 102. The ordering page 700includes means for a user to select specific products, to view local ordeliverable available of the products, view pricing for the products,view product information, and so forth. The ordering page 700 mayindicate multiple different retailers offering the same products and mayenable a user to select products from multiple different retailers. Inthe example ordering page 700 illustrated in FIG. 7, a user may viewproducts offered by the “Home Depot” retailer and the “Menards”retailer.

In an embodiment, the user may view available products under each searchterm entered by the user (see FIGS. 5-6). In an example use case, a userenters search inputs to search drywall sheets, lumber—2×4, roofshingles, and framing nails simultaneously. As a result of this searchinput, the user may be directed to the ordering page 700 illustrated inFIG. 7. The user may then select drywall sheets, lumber—2×, roofshingles, and framing nails on the same page. This reduces the totaltime spent selecting products and ordering products and simplifies theshopping process for the user.

FIG. 8 is a schematic flow chart diagram of a method 800 for efficientmultiple-term searching and product identification for processing anorder. The method 800 may be implemented by one or more processorsassociated with an order placement platform 102 such as an orderplacement server 110. The method 800 may be implemented by any suitablecomputing device and may be implemented by multiple independentcomputing devices.

The method 800 begins and a computing device receives at 802 a pluralityof independent search requests from a user. A computing device executesat 804 a product search for each of the plurality of independent searchrequests to generate a plurality of independent product results. Acomputing device provides at 806 at least a portion of the plurality ofindependent product results to the user simultaneously. A computingdevice receives at 808 a product selection from the user. A computingdevice adds at 810 the product selection to a virtual shopping cart forthe user while continuing to display at least a portion of the pluralityof independent product results.

FIG. 9 is a schematic flow chart diagram of a method 900 for efficientmultiple-term searching and product identification for processing anorder. The method 900 may be implemented by one or more processorsassociated with an order placement platform 102 such as an orderplacement server 110. The method 900 may be implemented by any suitablecomputing device and may be implemented by multiple independentcomputing devices.

The method 900 begins and a computing device stores at 902 profileinformation for a user comprising one or more of: order historyinformation, transaction information, demographic information, orlocation information. The method 900 continues and a computing deviceprovides at 904 the profile information to a neural network. The method900 continues and a computing device receives at 906 predicted searchtopics for the user from the neural network, wherein the predictedsearch topics indicate probable desirable search topics for the userbased on the profile information for the user and stored information fora plurality of other users.

FIG. 10 is a schematic flow chart diagram of a method 1000 for efficientmultiple-term searching and product identification for processing anorder. The method 1000 may be implemented by one or more processorsassociated with an order placement platform 102 such as an orderplacement server 110. The method 1000 may be implemented by any suitablecomputing device and may be implemented by multiple independentcomputing devices.

The method 1000 begins and a computing device communicates at 1002 witha plurality of product providers by way of an API to determine productinformation for products offered by each of the plurality of productproviders. The method 1000 continues and a computing device communicatesat 1004 with the plurality of product providers to determine inventoryquantities and inventory location for products offered by each of theplurality of product providers. A computing device identifies at 1006one or more retail locations comprising adequate inventory of one ormore products in a virtual shopping cart of a user. A computing deviceidentifies at 1008 a fewest number of retail locations for fulfilling anorder comprising contents of the virtual shopping cart.

Referring now to FIG. 11, a block diagram of an example computing device1100 is illustrated. Computing device 1100 may be used to performvarious procedures, such as those discussed herein. Computing device1100 can perform various monitoring functions as discussed herein, andcan execute one or more application programs, such as the applicationprograms or functionality described herein. Computing device 1100 can beany of a wide variety of computing devices, such as a desktop computer,in-dash computer, vehicle control system, a notebook computer, a servercomputer, a handheld computer, tablet computer and the like.

Computing device 1100 includes one or more processor(s) 1104, one ormore memory device(s) 1104, one or more interface(s) 1106, one or moremass storage device(s) 1108, one or more Input/output (I/O) device(s)1110, and a display device 1130 all of which are coupled to a bus 1112.Processor(s) 1104 include one or more processors or controllers thatexecute instructions stored in memory device(s) 1104 and/or mass storagedevice(s) 1108. Processor(s) 1104 may also include various types ofcomputer-readable media, such as cache memory.

Memory device(s) 1104 include various computer-readable media, such asvolatile memory (e.g., random access memory (RAM) 1114) and/ornonvolatile memory (e.g., read-only memory (ROM) 1116). Memory device(s)1104 may also include rewritable ROM, such as Flash memory.

Mass storage device(s) 1108 include various computer readable media,such as magnetic tapes, magnetic disks, optical disks, solid-statememory (e.g., Flash memory), and so forth. As shown in FIG. 11, aparticular mass storage device 1108 is a hard disk drive 1124. Variousdrives may also be included in mass storage device(s) 1108 to enablereading from and/or writing to the various computer readable media. Massstorage device(s) 1108 include removable media 1126 and/or non-removablemedia.

I/O device(s) 1110 include various devices that allow data and/or otherinformation to be input to or retrieved from computing device 1100.Example I/O device(s) 1110 include cursor control devices, keyboards,keypads, microphones, monitors or other display devices, speakers,printers, network interface cards, modems, and the like.

Display device 1130 includes any type of device capable of displayinginformation to one or more users of computing device 1100. Examples ofdisplay device 1130 include a monitor, display terminal, videoprojection device, and the like.

Interface(s) 1106 include various interfaces that allow computing device1100 to interact with other systems, devices, or computing environments.Example interface(s) 1106 may include any number of different networkinterfaces 1120, such as interfaces to local area networks (LANs), widearea networks (WANs), wireless networks, and the Internet. Otherinterface(s) include user interface 1118 and peripheral device interface1122. The interface(s) 1106 may also include one or more user interfaceelements 1118. The interface(s) 1106 may also include one or moreperipheral interfaces such as interfaces for printers, pointing devices(mice, track pad, or any suitable user interface now known to those ofordinary skill in the field, or later discovered), keyboards, and thelike.

Bus 1112 allows processor(s) 1104, memory device(s) 1104, interface(s)1106, mass storage device(s) 1108, and I/O device(s) 1110 to communicatewith one another, as well as other devices or components coupled to bus1112. Bus 1112 represents one or more of several types of busstructures, such as a system bus, PCI bus, IEEE bus, USB bus, and soforth.

Examples

The following examples pertain to further embodiments.

Example 1 is a method. The method includes receiving a plurality ofindependent search requests from a user. The method includes executing aproduct search for each of the plurality of independent search requeststo generate a plurality of independent product results. The methodincludes providing at least a portion of the plurality of independentproduct results to the user simultaneously. The method includesreceiving a product selection from the user. The method includes addingthe product selection to a virtual shopping cart for the user whilecontinuing to display at least a portion of the plurality of independentproduct results.

Example 2 is a method as in Example 1, wherein the plurality ofindependent search requests comprise one or more of a search bar input,a search key input, or a selection of a product category suggestion.

Example 3 is a method as in any of Examples 1-2, wherein the pluralityof independent search requests are directed to different productcategories, and wherein executing the product search for each of theplurality of independent search requests comprises identifyingapplicable products for each of the different product categories.

Example 4 is a method as in any of Examples 1-3, further comprisingpredicting one or more product categories applicable to the user basedon one or more of: demographic information for the user, locationinformation for the user, order history for the user, transactionhistory for the user, or preference information for the user, andwherein the method further comprises displaying the one or morepredicted product categories to the user as search suggestions.

Example 5 is a method as in any of Examples 1-4, further comprisingcommunicating with a product provider by way of an Application ProgramInterface (API) to identify available products and one or more of:inventory quantity for one or more products, location of inventory forone or more products, delivery time for one or more products,descriptive information for one or more products, and pricing for one ormore products.

Example 6 is a method as in any of Examples 1-5, further comprisingcommunicating with a payment platform by way of an Application ProgramInterface (API) for processing payment from the user for orderingproducts stored in the user's virtual shopping cart.

Example 7 is a method as in any of Examples 1-6, wherein receiving theproduct selection from the user comprises receiving a plurality ofproduct selections from the user and adding each of the plurality ofproduct selections to the virtual shopping cart while continuing todisplay at least a portion of the plurality of independent productresults.

Example 8 is a method as in any of Examples 1-7, further comprising:storing profile information for the user comprising one or more of:order history information, transaction information, demographicinformation, or location information; providing the profile informationto a neural network; and receiving predicted search topics for the userfrom the neural network, wherein the predicted search topics indicateprobable desirable search topics for the user based on the profileinformation for the user and stored information for a plurality of otherusers.

Example 9 is a method as in any of Examples 1-8, further comprising:communicating with a plurality of product providers to determine productinformation for products offered by each of the plurality of productproviders; communicating with the plurality of product providers todetermine inventory quantities and inventory location for productsoffered by each of the plurality of product providers; identifying oneor more retail locations comprising adequate inventory of one or moreproducts in the virtual shopping cart; and identifying a fewest numberof retail locations for fulfilling an order comprising contents of thevirtual shopping cart.

Example 10 is a method as in any of Examples 1-9, wherein the one ormore retail locations are in close geographic proximity to the userbased on a proximity threshold.

Example 11 is a system. The system includes an order placement platformfor identifying and ordering products, the order placement platformcomprising one or more processors for executing instructions stored innon-transitory computer readable storage media. The instructions includereceiving a plurality of independent search requests from a user. Theinstructions include executing a product search for each of theplurality of independent search requests to generate a plurality ofindependent product results. The instructions include providing at leasta portion of the plurality of independent product results to the usersimultaneously. The instructions include receiving a product selectionfrom the user. The instructions include adding the product selection toa virtual shopping cart for the user while continuing to display atleast a portion of the plurality of independent product results.

Example 12 is a system as in Example 11, wherein the plurality ofindependent search requests comprise one or more of a search bar input,a search key input, or a selection of a product category suggestion.

Example 13 is a system as in any of Examples 11-12, wherein theplurality of independent search requests are directed to differentproduct categories, and wherein the instructions are such that executingthe product search for each of the plurality of independent searchrequests comprises identifying applicable products for each of thedifferent product categories.

Example 14 is a system as in any of Examples 11-13, wherein theinstructions further comprise predicting one or more product categoriesapplicable to the user based on one or more of: demographic informationfor the user, location information for the user, order history for theuser, transaction history for the user, or preference information forthe user, and wherein the instructions further comprise displaying theone or more predicted product categories to the user as searchsuggestions.

Example 15 is a system as in any of Examples 11-14, wherein theinstructions further comprise communicating with a product provider byway of an Application Program Interface (API) to identify availableproducts and one or more of: inventory quantity for one or moreproducts, location of inventory for one or more products, delivery timefor one or more products, descriptive information for one or moreproducts, and pricing for one or more products.

Example 16 is a system as in any of Examples 11-15, wherein theinstructions further comprise communicating with a payment platform byway of an Application Program Interface (API) for processing paymentfrom the user for ordering products stored in the user's virtualshopping cart.

Example 17 is a system as in any of Examples 11-16, wherein theinstructions are such that receiving the product selection from the usercomprises receiving a plurality of product selections from the user andadding each of the plurality of product selections to the virtualshopping cart while continuing to display at least a portion of theplurality of independent product results.

Example 18 is a system as in any of Examples 11-17, wherein theinstructions further comprise: storing profile information for the usercomprising one or more of: order history information, transactioninformation, demographic information, or location information; providingthe profile information to a neural network; and receiving predictedsearch topics for the user from the neural network, wherein thepredicted search topics indicate probable desirable search topics forthe user based on the profile information for the user and storedinformation for a plurality of other users.

Example 19 is a system as in any of Examples 11-18, wherein theinstructions further comprise: communicating with a plurality of productproviders to determine product information for products offered by eachof the plurality of product providers; communicating with the pluralityof product providers to determine inventory quantities and inventorylocation for products offered by each of the plurality of productproviders; identifying one or more retail locations comprising adequateinventory of one or more products in the virtual shopping cart; andidentifying a fewest number of retail locations for fulfilling an ordercomprising contents of the virtual shopping cart.

Example 20 is a system as in any of Examples 11-19, wherein theinstructions are such that the one or more retail locations are in closegeographic proximity to the user based on a proximity threshold.

Example 21 is one or more processors configurable to executeinstructions stored in non-transitory computer readable storage media.The instructions include receiving a plurality of independent searchrequests from a user. The instructions include executing a productsearch for each of the plurality of independent search requests togenerate a plurality of independent product results. The instructionsinclude providing at least a portion of the plurality of independentproduct results to the user simultaneously. The instructions includereceiving a product selection from the user. The instructions includeadding the product selection to a virtual shopping cart for the userwhile continuing to display at least a portion of the plurality ofindependent product results.

Example 22 is one or more processors as in Example 21, wherein theplurality of independent search requests comprise one or more of asearch bar input, a search key input, or a selection of a productcategory suggestion.

Example 23 is one or more processors as in any of Examples 21-22,wherein the plurality of independent search requests are directed todifferent product categories, and wherein the instructions are such thatexecuting the product search for each of the plurality of independentsearch requests comprises identifying applicable products for each ofthe different product categories.

Example 24 is one or more processors as in any of Examples 21-23,wherein the instructions further comprise predicting one or more productcategories applicable to the user based on one or more of: demographicinformation for the user, location information for the user, orderhistory for the user, transaction history for the user, or preferenceinformation for the user, and wherein the instructions further comprisedisplaying the one or more predicted product categories to the user assearch suggestions.

Example 25 is one or more processors as in any of Examples 21-24,wherein the instructions further comprise communicating with a productprovider by way of an Application Program Interface (API) to identifyavailable products and one or more of: inventory quantity for one ormore products, location of inventory for one or more products, deliverytime for one or more products, descriptive information for one or moreproducts, and pricing for one or more products.

Example 26 is one or more processors as in any of Examples 21-25,wherein the instructions further comprise communicating with a paymentplatform by way of an Application Program Interface (API) for processingpayment from the user for ordering products stored in the user's virtualshopping cart.

Example 27 is one or more processors as in any of Examples 21-26,wherein the instructions are such that receiving the product selectionfrom the user comprises receiving a plurality of product selections fromthe user and adding each of the plurality of product selections to thevirtual shopping cart while continuing to display at least a portion ofthe plurality of independent product results.

Example 28 is one or more processors as in any of Examples 21-27,wherein the instructions further comprise: storing profile informationfor the user comprising one or more of: order history information,transaction information, demographic information, or locationinformation; providing the profile information to a neural network; andreceiving predicted search topics for the user from the neural network,wherein the predicted search topics indicate probable desirable searchtopics for the user based on the profile information for the user andstored information for a plurality of other users.

Example 29 is one or more processors as in any of Examples 21-28,wherein the instructions further comprise: communicating with aplurality of product providers to determine product information forproducts offered by each of the plurality of product providers;communicating with the plurality of product providers to determineinventory quantities and inventory location for products offered by eachof the plurality of product providers; identifying one or more retaillocations comprising adequate inventory of one or more products in thevirtual shopping cart; and identifying a fewest number of retaillocations for fulfilling an order comprising contents of the virtualshopping cart.

Example 30 is one or more processors as in any of Examples 21-29,wherein the instructions are such that the one or more retail locationsare in close geographic proximity to the user based on a proximitythreshold.

In the above disclosure, reference has been made to the accompanyingdrawings, which form a part hereof, and in which is shown by way ofillustration specific implementations in which the disclosure may bepracticed. It is understood that other implementations may be utilized,and structural changes may be made without departing from the scope ofthe present disclosure. References in the specification to “oneembodiment,” “an embodiment,” “an example embodiment,” etc., indicatethat the embodiment described may include a particular feature,structure, or characteristic, but every embodiment may not necessarilyinclude the particular feature, structure, or characteristic. Moreover,such phrases are not necessarily referring to the same embodiment.Further, when a particular feature, structure, or characteristic isdescribed in connection with an embodiment, it is submitted that it iswithin the knowledge of one skilled in the art to affect such feature,structure, or characteristic in connection with other embodimentswhether or not explicitly described.

Implementations of the systems, devices, and methods disclosed hereinmay comprise or utilize a special purpose or general-purpose computerincluding computer hardware, such as, for example, one or moreprocessors and system memory, as discussed herein. Implementationswithin the scope of the present disclosure may also include physical andother computer-readable media for carrying or storingcomputer-executable instructions and/or data structures. Suchcomputer-readable media can be any available media that can be accessedby a general purpose or special purpose computer system.Computer-readable media that store computer-executable instructions arecomputer storage media (devices). Computer-readable media that carrycomputer-executable instructions are transmission media. Thus, by way ofexample, and not limitation, implementations of the disclosure cancomprise at least two distinctly different kinds of computer-readablemedia: computer storage media (devices) and transmission media.

Computer storage media (devices) includes RAM, ROM, EEPROM, CD-ROM,solid state drives (“SSDs”) (e.g., based on RAM), Flash memory,phase-change memory (“PCM”), other types of memory, other optical diskstorage, magnetic disk storage or other magnetic storage devices, or anyother medium, which can be used to store desired program code means inthe form of computer-executable instructions or data structures andwhich can be accessed by a general purpose or special purpose computer.

An implementation of the devices, systems, and methods disclosed hereinmay communicate over a computer network. A “network” is defined as oneor more data links that enable the transport of electronic data betweencomputer systems and/or modules and/or other electronic devices. Wheninformation is transferred or provided over a network or anothercommunications connection (either hardwired, wireless, or a combinationof hardwired or wireless) to a computer, the computer properly views theconnection as a transmission medium. Transmissions media can include anetwork and/or data links, which can be used to carry desired programcode means in the form of computer-executable instructions or datastructures and which can be accessed by a general purpose or specialpurpose computer. Combinations of the above should also be includedwithin the scope of computer-readable media.

Computer-executable instructions comprise, for example, instructions anddata which, when executed at a processor, cause a general-purposecomputer, special purpose computer, or special purpose processing deviceto perform a certain function or group of functions. The computerexecutable instructions may be, for example, binaries, intermediateformat instructions such as assembly language, or even source code.Although the subject matter has been described in language specific tostructural features and/or methodological acts, it is to be understoodthat the subject matter defined in the appended claims is notnecessarily limited to the described features or acts described above.Rather, the described features and acts are disclosed as example formsof implementing the claims.

Those skilled in the art will appreciate that the disclosure may bepracticed in network computing environments with many types of computersystem configurations, including, an in-dash vehicle computer, personalcomputers, desktop computers, laptop computers, message processors,hand-held devices, multi-processor systems, microprocessor-based orprogrammable consumer electronics, network PCs, minicomputers, mainframecomputers, mobile telephones, PDAs, tablets, pagers, routers, switches,various storage devices, televisions, and the like. The disclosure mayalso be practiced in distributed system environments where local andremote computer systems, which are linked (either by hardwired datalinks, wireless data links, or by a combination of hardwired andwireless data links) through a network, both perform tasks. In adistributed system environment, program modules may be located in bothlocal and remote memory storage devices.

Further, where appropriate, functions described herein can be performedin one or more of: hardware, software, firmware, digital components, oranalog components. For example, one or more application specificintegrated circuits (ASICs) can be programmed to carry out one or moreof the systems and procedures described herein. Certain terms are usedthroughout the description and claims to refer to particular systemcomponents. The terms “modules” and “components” are used in the namesof certain components to reflect their implementation independence insoftware, hardware, circuitry, sensors, or the like. As one skilled inthe art will appreciate, components may be referred to by differentnames. This document does not intend to distinguish between componentsthat differ in name, but not function.

It should be noted that the sensor embodiments discussed above maycomprise computer hardware, software, firmware, or any combinationthereof to perform at least a portion of their functions. For example, asensor may include computer code configured to be executed in one ormore processors and may include hardware logic/electrical circuitrycontrolled by the computer code. These example devices are providedherein purposes of illustration and are not intended to be limiting.Embodiments of the present disclosure may be implemented in furthertypes of devices, as would be known to persons skilled in the relevantart(s).

At least some embodiments of the disclosure have been directed tocomputer program products comprising such logic (e.g., in the form ofsoftware) stored on any computer useable medium. Such software, whenexecuted in one or more data processing devices, causes a device tooperate as described herein.

While various embodiments of the present disclosure have been describedabove, it should be understood that they have been presented by way ofexample only, and not limitation. It will be apparent to persons skilledin the relevant art that various changes in form and detail can be madetherein without departing from the spirit and scope of the disclosure.Thus, the breadth and scope of the present disclosure should not belimited by any of the above-described exemplary embodiments but shouldbe defined only in accordance with the following claims and theirequivalents. The foregoing description has been presented for thepurposes of illustration and description. It is not intended to beexhaustive or to limit the disclosure to the precise form disclosed.Many modifications and variations are possible in light of the aboveteaching. Further, it should be noted that any or all of theaforementioned alternate implementations may be used in any combinationdesired to form additional hybrid implementations of the disclosure.

Further, although specific implementations of the disclosure have beendescribed and illustrated, the disclosure is not to be limited to thespecific forms or arrangements of parts so described and illustrated.The scope of the disclosure is to be defined by the claims appendedhereto, any future claims submitted here and in different applications,and their equivalents.

What is claimed is:
 1. A method comprising: receiving a plurality ofindependent search requests from a user; executing a product search foreach of the plurality of independent search requests to generate aplurality of independent product results; providing at least a portionof the plurality of independent product results to the usersimultaneously; receiving a product selection from the user; and addingthe product selection to a virtual shopping cart for the user whilecontinuing to display at least a portion of the plurality of independentproduct results.
 2. The method of claim 1, wherein the plurality ofindependent search requests comprise one or more of a search bar input,a search key input, or a selection of a product category suggestion. 3.The method of claim 1, wherein the plurality of independent searchrequests are directed to different product categories, and whereinexecuting the product search for each of the plurality of independentsearch requests comprises identifying applicable products for each ofthe different product categories.
 4. The method of claim 1, furthercomprising predicting one or more product categories applicable to theuser based on one or more of: demographic information for the user,location information for the user, order history for the user,transaction history for the user, or preference information for theuser, and wherein the method further comprises displaying the one ormore predicted product categories to the user as search suggestions. 5.The method of claim 1, further comprising communicating with a productprovider by way of an Application Program Interface (API) to identifyavailable products and one or more of: inventory quantity for one ormore products, location of inventory for one or more products, deliverytime for one or more products, descriptive information for one or moreproducts, and pricing for one or more products.
 6. The method of claim1, further comprising communicating with a payment platform by way of anApplication Program Interface (API) for processing payment from the userfor ordering products stored in the user's virtual shopping cart.
 7. Themethod of claim 1, wherein receiving the product selection from the usercomprises receiving a plurality of product selections from the user andadding each of the plurality of product selections to the virtualshopping cart while continuing to display at least a portion of theplurality of independent product results.
 8. The method of claim 1,further comprising: storing profile information for the user comprisingone or more of: order history information, transaction information,demographic information, or location information; providing the profileinformation to a neural network; and receiving predicted search topicsfor the user from the neural network, wherein the predicted searchtopics indicate probable desirable search topics for the user based onthe profile information for the user and stored information for aplurality of other users.
 9. The method of claim 1, further comprising:communicating with a plurality of product providers to determine productinformation for products offered by each of the plurality of productproviders; communicating with the plurality of product providers todetermine inventory quantities and inventory location for productsoffered by each of the plurality of product providers; identifying oneor more retail locations comprising adequate inventory of one or moreproducts in the virtual shopping cart; and identifying a fewest numberof retail locations for fulfilling an order comprising contents of thevirtual shopping cart.
 10. The method of claim 9, wherein the one ormore retail locations are in close geographic proximity to the userbased on a proximity threshold.
 11. The method of claim 1, furthercomprising reading product information stored in memory to identify oneor more of: inventory quantity for one or more products, location ofinventory for one or more products, delivery time for one or moreproducts, descriptive information for one or more products, and pricingfor one or more products.
 12. A system comprising an order placementplatform for identifying and ordering products, the order placementplatform comprising one or more processors for executing instructionsstored in non-transitory computer readable storage media, theinstructions comprising: receiving a plurality of independent searchrequests from a user; executing a product search for each of theplurality of independent search requests to generate a plurality ofindependent product results; providing at least a portion of theplurality of independent product results to the user simultaneously;receiving a product selection from the user; and adding the productselection to a virtual shopping cart for the user while continuing todisplay at least a portion of the plurality of independent productresults.
 13. The system of claim 12, wherein the plurality ofindependent search requests comprise one or more of a search bar input,a search key input, or a selection of a product category suggestion. 14.The system of claim 12, wherein the plurality of independent searchrequests are directed to different product categories, and wherein theinstructions are such that executing the product search for each of theplurality of independent search requests comprises identifyingapplicable products for each of the different product categories. 15.The system of claim 12, wherein the instructions further comprisepredicting one or more product categories applicable to the user basedon one or more of: demographic information for the user, locationinformation for the user, order history for the user, transactionhistory for the user, or preference information for the user, andwherein the instructions further comprise displaying the one or morepredicted product categories to the user as search suggestions.
 16. Thesystem of claim 12, wherein the instructions further comprisecommunicating with a product provider by way of an Application ProgramInterface (API) to identify available products and one or more of:inventory quantity for one or more products, location of inventory forone or more products, delivery time for one or more products,descriptive information for one or more products, and pricing for one ormore products.
 17. One or more processors configurable to executeinstructions stored in non-transitory computer readable storage media,the instructions comprising: receiving a plurality of independent searchrequests from a user; executing a product search for each of theplurality of independent search requests to generate a plurality ofindependent product results; providing at least a portion of theplurality of independent product results to the user simultaneously;receiving a product selection from the user; and adding the productselection to a virtual shopping cart for the user while continuing todisplay at least a portion of the plurality of independent productresults.
 18. The one or more processors of claim 17, wherein theinstructions further comprise communicating with a payment platform byway of an Application Program Interface (API) for processing paymentfrom the user for ordering products stored in the user's virtualshopping cart.
 19. The one or more processors of claim 17, wherein theinstructions are such that receiving the product selection from the usercomprises receiving a plurality of product selections from the user andadding each of the plurality of product selections to the virtualshopping cart while continuing to display at least a portion of theplurality of independent product results.
 20. The one or more processorsof claim 17, wherein the instructions further comprise: storing profileinformation for the user comprising one or more of: order historyinformation, transaction information, demographic information, orlocation information; providing the profile information to a neuralnetwork; and receiving predicted search topics for the user from theneural network, wherein the predicted search topics indicate probabledesirable search topics for the user based on the profile informationfor the user and stored information for a plurality of other users. 21.The one or more processors of claim 17, wherein the instructions furthercomprise: communicating with a plurality of product providers todetermine product information for products offered by each of theplurality of product providers; communicating with the plurality ofproduct providers to determine inventory quantities and inventorylocation for products offered by each of the plurality of productproviders; identifying one or more retail locations comprising adequateinventory of one or more products in the virtual shopping cart; andidentifying a fewest number of retail locations for fulfilling an ordercomprising contents of the virtual shopping cart.